Data Scaling
# Tag:
Data Scaling
feature 별로 동일한 기준을 적용하고, 모델이 더욱 안정적으로 학습할 수 있도록 한다.
정규화(normaliazation)
from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() scaled_series = scaler.fit_transform(serires.values.reshape(-1,1))
표준화(Standardization)
이를 통해 동일한 scale을 가지도록, 즉 정규분포를 따르도록 할 수 있다.
: 는 원본데이터, 은 데이터의 평균 값, 는 데이터의 표준 편차
from sklearn.preprocessing import StandardScaler
-
동일한 스케일: 데이터의 각 특징들이 동일한 척도를 가지도록 만들어, 모델이 특정 특징에 편향되지 않도록 합니다. 이는 특히 거리 기반 알고리즘(예: k-최근접 이웃, SVM, 클러스터링 등)에서 중요합니다. 이러한 알고리즘들은 큰 스케일을 가진 특징이 작은 스케일을 가진 특징보다 더 큰 영향을 미치기 때문에, 표준화를 통해 이러한 영향을 균형 있게 조정할 수 있습니다.
-
경사하강법의 성능 향상: 머신러닝 알고리즘에서 자주 사용되는 최적화 기법인 경사하강법은 데이터의 스케일에 매우 민감합니다. 특징들이 비슷한 범위를 가지면, 경사하강법이 더 빠르고 안정적으로 수렴할 수 있습니다. 이는 학습 속도를 높이고 최적화 과정에서의 발산을 방지합니다.
-
해석의 용이성: 표준화된 데이터는 평균이 0이고 표준편차가 1이므로, 데이터의 값이 얼마나 평균에서 벗어나는지를 직관적으로 이해할 수 있습니다. 이는 특히 데이터 분석 및 시각화 단계에서 유용합니다.
-
정규분포 가정: 많은 통계 및 머신러닝 기법들은 데이터가 정규분포(가우시안 분포)를 따를 때 더 잘 작동합니다. 표준화를 통해 데이터가 정규분포에 더 가까워질 수 있으며, 이는 모델의 성능을 향상시킬 수 있습니다.